package com.ruoyi.service;

import java.util.List;
import com.ruoyi.domain.ExaLeave;

/**
 * 【请假】Service接口
 * 
 * @author ruoyi
 * @date 2020-07-01
 */
public interface IExaLeaveService 
{
    /**
     * 查询【请假】
     * 
     * @param id 【请假】ID
     * @return 【请假】
     */
    public ExaLeave selectExaLeaveById(Long id);

    /**
     * 查询【请假】列表
     * 
     * @param exaLeave 【请假】
     * @return 【请假】集合
     */
    public List<ExaLeave> selectExaLeaveList(ExaLeave exaLeave);
    /**
     * 安照创建人查询【请假】列表
     *
     * @param loginName 【创建者】
     * @return 【请假】集合
     */
    public List<ExaLeave> selectExaLeaveByloginName(String loginName);
    /**
     * 安照部门查询【请假】列表
     *
     * @param dept 【部门】
     * @return 【请假】集合
     */
    public List<ExaLeave> selectExaLeaveBydept(String dept);
    /**
     * 新增【请假】
     * 
     * @param exaLeave 【请假】
     * @return 结果
     */
    public int insertExaLeave(ExaLeave exaLeave);

    /**
     * 修改【请假】
     * 
     * @param exaLeave 【请假】
     * @return 结果
     */
    public int updateExaLeave(ExaLeave exaLeave);

    /**
     * 批量删除【请假】
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteExaLeaveByIds(String ids);

    /**
     * 删除【请假】信息
     * 
     * @param id 【请假】ID
     * @return 结果
     */
    public int deleteExaLeaveById(Long id);
    /**
     * 提交【请假】信息
     *
     * @param id 【请假】ID
     * @return 结果
     */
    public int submitExaStatus(Long id);
    /**
     * 撤销【请假】信息
     *
     * @param id 【请假】ID
     * @return 结果
     */
    public int revoExaStatus(Long id);
    /**
     * 销假【请假】信息
     *
     * @param id 【请假】ID
     * @return 结果
     */
    public int repExaStatus(Long id);
    /**
     * 通过申请【请假】信息
     *
     * @param id 【请假】ID
     * @return 结果
     */
    public int conExaStatus(Long id);
    /**
     * 驳回申请【请假】信息
     *
     * @param id 【请假】ID
     * @return 结果
     */
    public int editExaStatus(Long id);
}
